SoSe2021
Bei welcher Stichprobengröße scheinen die Verteilungen stabil zu werden?
Abstufung eines Histogramms (rot) zu einer Normalkurve (blau).
\[X \sim N(\mu_x, \sigma_x^2)\]
\[f(X)=\frac{1}{\sqrt{2\pi\sigma_x^2}}e^\frac{-(X-\mu_x)^2}{2\sigma_x^2}\]
\[X \sim N(1, 2)\]
\[f(X)=\frac{1}{\sqrt{4\pi}}e^\frac{-(X-1)^2}{4}\]
→ Erhöhen wir \(\mu\), rücken wir die Kurve nach rechts.
→ Erhöhen wir \(\sigma^2\) wird die Kurve flacher, verringern wir \(\sigma^2\) wird die Kurve steiler.
\[Z = \frac{X-\mu}{\sigma} \sim N(0,1)\Rightarrow z_i = \frac{x_i-\bar{x}}{s}\]
\[f(Z)=\frac{1}{\sqrt{2\pi}}e^\frac{-Z^2}{2}\]
Ein weiterer Vorteil der Z-Transformation (auch Standardisierung oder Normalisierung genannt):
iris Datensatzx <- iris$Sepal.Length mean(x)
[1] 5.84
sd(x)
[1] 0.828
z <- (x - mean(x)) / sd(x) mean(z)
[1] -4.48e-16
sd(z)
[1] 1
df <- iris %>%
select(Sepal.Length) %>%
rename(x = Sepal.Length) %>%
mutate(
mean = mean(x),
sd = sd(x),
centered = x-mean,
scaled = centered/sd,
z = scale(x, center = TRUE, scale = TRUE)
)
head(df)x mean sd centered scaled z 1 5.1 5.84 0.828 -0.743 -0.898 -0.898 2 4.9 5.84 0.828 -0.943 -1.139 -1.139 3 4.7 5.84 0.828 -1.143 -1.381 -1.381 4 4.6 5.84 0.828 -1.243 -1.501 -1.501 5 5.0 5.84 0.828 -0.843 -1.018 -1.018 6 5.4 5.84 0.828 -0.443 -0.535 -0.535
Dafür gibt es die sog. (kumulierte) Verteilungsfunktion, im englischen die ‘cumulative density function’ (kurz CDF).
Wie groß muss X sein, damit 85% aller Werte darunter liegen?
Oder anders gefragt: Wie groß ist die Wahrscheinlichkeit, dass X ≤ 1.0364 ist?
pAus einer Standardnormalverteilungstabelle kann abgelesen werden, dass bei normalverteilten Zufallsvariablen jeweils ungefähr
?Normal
| Funktion | Zweck | Syntax | Beispiel |
|---|---|---|---|
| rnorm | Generiert zufällige Zahlen aus einer Normalverteilung | rnorm(n, mean, sd) | rnorm(100, 4, 7) → generiert 100 Zahlen aus einer NV mit \(\bar{x}=4\) und \(\sigma = 7\). |
| dnorm | Probability Density Function | dnorm(x, mean, sd) | dnorm(0, 0, .5) → Berechnet die Dichte (Höhe der PDF) für eine NV mit \(\bar{x}=0\) und \(\sigma = 0.5\). |
| pnorm | Cumulative Density Function | pnorm(q, mean, sd) | pnorm(1.96, 0, 1) → Berechnet die Fläche unter der Standardnormalkurve links von \(1.96\sigma\) (für \(F_X(1.96)\)), d.h. ~0.975. |
| qnorm | Quantile Function (Inverse von pnorm) | qnorm(p, mean, sd) | qnorm(0.975, 0, 1) → Gibt den Wert zurück, bei dem die CDF der Standardnormalverteilung 0.975 ist, d.h. ~1.96. |
pnorm()Wie hoch ist die Wahrscheinlichkeit, dass eine zufällig ausgewählte Blume aus dem iris Datensatz eine Kronblattlänge von 6.1cm oder kleiner hat? Wir suchen also P(X ≤ 6.1) bei einem Stichprobemittelwert von 5.84 und einer Standardabweichung von 0.828.
x <- 6.1 # Kronblattlaenge x_m <- mean(iris$Sepal.Length) x_s <- sd(iris$Sepal.Length)
z <- (x - x_m) / x_s # Z-Transformation pnorm(z)
[1] 0.622
\(Z=\frac{x-\mu}{\sigma}=\frac{6.1-5.84}{0.828}=0.314\)
Ergebnis: \(P(Z \leq 0.314) \approx 0.622\)
# Explizite Angabe mean, sd pnorm(x, mean = x_m, sd = x_s)
[1] 0.622
Ergebnis: \(P(X \leq 6.1) \approx 0.622\)
pnorm()Und wie hoch ist die Wahrscheinlichkeit, dass eine zufällig ausgewählte Blume aus dem iris Datensatz eine Kronblattlänge von 5.3cm oder größer hat? Wir suchen also P(X ≥ 5.3):
# Unteres Interval von 1 abziehen: 1 - pnorm(5.3, mean = x_m, sd = x_s, lower.tail = TRUE) # =default
[1] 0.744
# Oberes Interval berechnen: pnorm(5.3, mean = x_m, sd = x_s, lower.tail = FALSE)
[1] 0.744
Wie hoch ist die Wahrscheinlichkeit, dass eine zufällig ausgewählte Blume aus dem iris Datensatz eine Kronblattlänge zwischen 4.8 und 7.4cm hat?
Wir suchen also \(P(4.8 < X \leq 7.4)= \int_{4.8}^{7.4} f_X(x)dx = P(X \leq 7.4) - P(X \leq 4.8)\)
pnorm(), qnorm() und dnorm()# Wahrscheinlichkeit, dass X ≤ 1.0365: pnorm(1.0365, mean = 0, sd = 1)
[1] 0.85
# Wie groß muss X sein bei P = 0.85 p_X <- qnorm(0.85, 0, 1) # inverse CDF p_X # R rundet eigenständig!
[1] 1.04
sprintf(p_X, fmt = '%#.4f')
[1] "1.0364"
# Die Dichte f_X(1.0364) dnorm(1.0365, mean = 0, sd = 1)
[1] 0.233
?Distributions| Distribution | p.. | q.. | d.. | r.. |
|---|---|---|---|---|
| Normal | pnorm | qnorm | dnorm | rnorm |
| Student t | pt | qt | dt | rt |
| F | pf | qf | df | rf |
| Chi-Square | pchisq | qchisq | dchisq | rchisq |
| Binomial | pbinom | qbinom | dbinom | rbinom |
| Poisson | ppois | qpois | dpois | rpois |
| Negative Binomial | pnbinom | qnbinom | dnbinom | rnbinom |
| Geometric | pgeom | qgeom | dgeom | rgeom |
| Hypergeometric | phyper | qhyper | dhyper | rhyper |
| Uniform | punif | qunif | dunif | runif |
| Exponential | pexp | qexp | dexp | rexp |
| Log Normal | plnorm | qlnorm | dlnorm | rlnorm |
| Gamma | pgamma | qgamma | dgamma | rgamma |
| Beta | pbeta | qbeta | dbeta | rbeta |
x <- seq(-3, 4, length = 100) t_2 = dt(x, df = 2)
05:00
Tipp: Schreibe eine Funktion, welche einen gesamten Testlauf durchführt und bei der die Stichprobengröße n als Argument spezifiziert werden kann. Die 1000 Iterationen müssen als Schleife geschrieben werden. Der Output der Funktion sollte die 1000 Z- und t-Werte als Liste oder data frame ausgeben.
Mit zunehmender Stichprobengröße (n) wird t-Verteilung steiler und nähert sich der Z-Verteilung an.
p
x <- seq(0, 8, length = 100) chisq_2 <- dchisq(x, df = 2)
x <- seq(0, 4, length = 100) F_2_5 <- df(x, df1 = 2, df2 = 5)
Bei weiteren Fragen: saskia.otto(at)uni-hamburg.de

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License except for the borrowed and mentioned with proper source: statements.
Image on title and end slide: Section of an infrared satellite image showing the Larsen C ice shelf on the Antarctic Peninsula - USGS/NASA Landsat: A Crack of Light in the Polar Dark, Landsat 8 - TIRS, June 17, 2017 (under CC0 license)